package collaboration.common;

import collaboration.client.CollabClient;

/**
 * The interface <code>CollabIF</code> contains all the abstract methods that 
 * need to be implemented to set up a client-server-collaborate interface for 
 * <code>CollabClient</code>.
 * 
 * @author Trevor Clack 6286191
 * @author Bowen Cheng 6204467
 * @version November 26, 2012 (1.37)
 */
public interface CollabIF {
	/**
	 * Method that when overridden is used to display objects onto
	 * a UI.
	 * 
	 * @param message The <code>Object</code> to display.
	 */
	public abstract void display(Object message);
	
	/**
	 * Method that when overridden returns the instance of <code>CollabClient</code>.
	 * 
	 * @return The <code>CollabClient</code> Object.
	 */
	public abstract Object getCollabClient();
	
	/**
	 * Method that when overridden is used to set the instance of <code>CollabClient</code>.
	 * 
	 * @param collabClient The <code>CollabClient</code> instance.
	 */
	public abstract boolean setCollabClient(CollabClient collabClient);
	
	/**
	 * Method that when overridden is used to delete this <code>CollabIF</code> instance.
	 */
	public abstract void delete();
}
